package com.system.mapper;

import com.system.entity.SysRoleMenuEntity;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 角色和菜单关联表
 *
 * @author yangzhan
 * @email *****@mail.com
 * @date 2022-04-13 18:46:02
 */
@Repository
public interface SysRoleMenuMapper {

    /**
     * 数据添加
     *
     * @param sysRoleMenuEntity
     */

    Integer sysRoleMenuAdd(SysRoleMenuEntity sysRoleMenuEntity);

    /**
     * 删除与批量删除
     *
     * @param ids
     */
    void sysRoleMenuDel(List<Long> ids);

    /**
     * 更新
     *
     * @param sysRoleMenuEntity
     */
    Integer sysRoleMenuUpById(SysRoleMenuEntity sysRoleMenuEntity);

    /**
     * 查询单条数据
     */
    SysRoleMenuEntity sysRoleMenuGetById(String id);


    /**
     * 数据个数
     */

    Integer sysRoleMenuSelCount();

    /**
     * 查询数据
     */
    List<SysRoleMenuEntity> sysRoleMenuSelectListByPage(SysRoleMenuEntity sysRoleMenuEntity);

    /**
     * 添加角色拥有的菜单
     */
    void sysRoleMenuAddList(@Param("roleId") Long roleId, @Param("t") List<Long> t);

    /**
     * 获取该角色已选的菜单id
     *
     * @param id
     * @return
     */
    List<Long> getMenuId(Long id);

    /**
     * 获取角色菜单权限
     *
     * @param userId
     * @return
     */

    List<String> selectPermsByUserId(Long userId);
}
